/**
 * 
 */
package com.dalonedrow.module.osric.rpg;

import com.dalonedrow.rpg.base.flyweights.IOPCData;

/**
 * @author Donald
 */
public final class OSRICCharacter extends IOPCData {
	/** the character's base Charisma score. */
	private float	baseCharisma;
	/** the character's base Constitution score. */
	private float	baseConstitution;
	/** the character's base Dexterity score. */
	private float	baseDexterity;
	/** the character's base Intelligence score. */
	private float	baseIntelligence;
	/** the character's base HP score. */
	private float	baseMaxHP;
	/** the character's base Strength score. */
	private float	baseStrength;
	/** the character's base Wisdom score. */
	private float	baseWisdom;
	/** the full value of the character's Charisma score. */
	private float	fullCharisma;
	/** the full value of the character's Constitution score. */
	private float	fullConstitution;
	/** the full value of the character's Dexterity score. */
	private float	fullDexterity;
	/** the full value of the character's Intelligence score. */
	private float	fullIntelligence;
	/** the full value of the character's HP score. */
	private float	fullMaxHP;
	/** the full value of the character's Strength score. */
	private float	fullStrength;
	/** the full value of the character's Wisdom score. */
	private float	fullWisdom;
	/**
	 * the value of the modifier applied to the character's base Charisma score.
	 */
	private float	modCharisma;
	/**
	 * the value of the modifier applied to the character's base Constitution
	 * score.
	 */
	private float	modConstitution;
	/**
	 * the value of the modifier applied to the character's base Dexterity
	 * score.
	 */
	private float	modDexterity;
	/**
	 * the value of the modifier applied to the character's base Intelligence
	 * score.
	 */
	private float	modIntelligence;
	/**
	 * the value of the modifier applied to the character's base HP score.
	 */
	private float	modMaxHP;
	/**
	 * the value of the modifier applied to the character's base Strength score.
	 */
	private float	modStrength;
	/** the value of the modifier applied to the character's base Wisdom score. */
	private float	modWisdom;
	/**
	 * Adjusts the score modifier for the Charisma ability by a certain amount.
	 * @param val the modifier applied
	 */
	public void adjModCharisma(final float val) {
		modCharisma += val;
	}
	/**
	 * Adjusts the score modifier for the Constitution ability by a certain
	 * amount.
	 * @param val the modifier applied
	 */
	public void adjModConstitution(final float val) {
		modConstitution += val;
	}
	/**
	 * Adjusts the score modifier for the Dexterity ability by a certain amount.
	 * @param val the modifier applied
	 */
	public void adjModDexterity(final float val) {
		modDexterity += val;
	}
	/**
	 * Adjusts the score modifier for the Intelligence ability by a certain
	 * amount.
	 * @param val the modifier applied
	 */
	public void adjModIntelligence(final float val) {
		modIntelligence += val;
	}
	/**
	 * Adjusts the score modifier for the HP ability by a certain amount.
	 * @param val the modifier applied
	 */
	public void adjModMaxHP(final float val) {
		modMaxHP += val;
	}
	/**
	 * Adjusts the score modifier for the Strength ability by a certain amount.
	 * @param val the modifier applied
	 */
	public void adjModStrength(final float val) {
		modStrength += val;
	}
	/**
	 * Adjusts the score modifier for the Wisdom ability by a certain amount.
	 * @param val the modifier applied
	 */
	public void adjModWisdom(final float val) {
		modWisdom += val;
	}
	/**
	 * {@inheritDoc}
	 */
	@Override
	public void clearModAbilityScores() {
		modCharisma = 0;
		modConstitution = 0;
		modDexterity = 0;
		modIntelligence = 0;
		modMaxHP = 0;
		modStrength = 0;
		modWisdom = 0;
		modMaxMind = 0;
	}
	/**
	 * Gets the character's base Charisma score.
	 * @return <code>float</code>
	 */
	public float getBaseCharisma() {
		return baseCharisma;
	}
	/**
	 * Gets the character's base Constitution score.
	 * @return <code>float</code>
	 */
	public float getBaseConstitution() {
		return baseConstitution;
	}
	/**
	 * Gets the character's base Dexterity score.
	 * @return <code>float</code>
	 */
	public float getBaseDexterity() {
		return baseDexterity;
	}
	/**
	 * Gets the character's base Intelligence score.
	 * @return <code>float</code>
	 */
	public float getBaseIntelligence() {
		return baseIntelligence;
	}
	/**
	 * Gets the character's base Strength score.
	 * @return <code>float</code>
	 */
	public float getBaseMaxHP() {
		return baseMaxHP;
	}
	/**
	 * Gets the character's base Strength score.
	 * @return <code>float</code>
	 */
	public float getBaseStrength() {
		return baseStrength;
	}
	/**
	 * Gets the character's base Wisdom score.
	 * @return <code>float</code>
	 */
	public float getBaseWisdom() {
		return baseWisdom;
	}
	/**
	 * Gets the full value of the character's Charisma score.
	 * @return <code>float</code>
	 */
	public float getFullCharisma() {
		return fullCharisma;
	}
	/**
	 * Gets the full value of the character's Constitution score.
	 * @return <code>float</code>
	 */
	public float getFullConstitution() {
		return fullConstitution;
	}
	/**
	 * Gets the full value of the character's Dexterity score.
	 * @return <code>float</code>
	 */
	public float getFullDexterity() {
		return fullDexterity;
	}
	/**
	 * Gets the full value of the character's Intelligence score.
	 * @return <code>float</code>
	 */
	public float getFullIntelligence() {
		return fullIntelligence;
	}
	/**
	 * Gets the full value of the character's Max HP score.
	 * @return <code>float</code>
	 */
	public float getFullMaxHP() {
		return fullMaxHP;
	}
	/**
	 * Gets the full value of the character's Strength score.
	 * @return <code>float</code>
	 */
	public float getFullStrength() {
		return fullStrength;
	}
	/**
	 * Gets the full value of the character's Wisdom score.
	 * @return <code>float</code>
	 */
	public float getFullWisdom() {
		return fullWisdom;
	}
	/**
	 * Gets the value of the modifier applied to the character's base Charisma
	 * score.
	 * @return <code>float</code>
	 */
	public float getModCharisma() {
		return modCharisma;
	}
	/**
	 * Gets the value of the modifier applied to the character's base
	 * Constitution score.
	 * @return <code>float</code>
	 */
	public float getModConstitution() {
		return modConstitution;
	}
	/**
	 * Gets the value of the modifier applied to the character's base Dexterity
	 * score.
	 * @return <code>float</code>
	 */
	public float getModDexterity() {
		return modDexterity;
	}
	/**
	 * Gets the value of the modifier applied to the character's base
	 * Intelligence score.
	 * @return <code>float</code>
	 */
	public float getModIntelligence() {
		return modIntelligence;
	}
	/**
	 * Gets the value of the modifier applied to the character's base Max HP
	 * score.
	 * @return <code>float</code>
	 */
	public float getModMaxHP() {
		return modMaxHP;
	}
	/**
	 * Gets the value of the modifier applied to the character's base Strength
	 * score.
	 * @return <code>float</code>
	 */
	public float getModStrength() {
		return modStrength;
	}
	/**
	 * Gets the value of the modifier applied to the character's base Wisdom
	 * score.
	 * @return <code>float</code>
	 */
	public float getModWisdom() {
		return modWisdom;
	}
	/**
	 * Sets the character's base Charisma score.
	 * @param val the new value
	 */
	public void setBaseCharisma(final float val) {
		baseCharisma = val;
	}
	/**
	 * Sets the character's base Constitution score.
	 * @param val the new value
	 */
	public void setBaseConstitution(final float val) {
		baseConstitution = val;
	}
	/**
	 * Sets the character's base Dexterity score.
	 * @param val the new value
	 */
	public void setBaseDexterity(final float val) {
		baseDexterity = val;
	}
	/**
	 * Sets the character's base Intelligence score.
	 * @param val the new value
	 */
	public void setBaseIntelligence(final float val) {
		baseIntelligence = val;
	}
	/**
	 * Sets the character's base Strength score.
	 * @param val the new value
	 */
	public void setBaseMaxpHP(final float val) {
		baseMaxHP = val;
	}
	/**
	 * Sets the character's base Strength score.
	 * @param val the new value
	 */
	public void setBaseStrength(final float val) {
		baseStrength = val;
	}
	/**
	 * Sets the character's base Wisdom score.
	 * @param val the new value
	 */
	public void setBaseWisdom(final float val) {
		baseWisdom = val;
	}
	/**
	 * Sets the full value of the character's Charisma score.
	 * @param val the new value
	 */
	public void setFullCharisma(final float val) {
		fullCharisma = val;
	}
	/**
	 * Sets the full value of the character's Constitution score.
	 * @param val the new value
	 */
	public void setFullConstitution(final float val) {
		fullConstitution = val;
	}
	/**
	 * Sets the full value of the character's Dexterity score.
	 * @param val the new value
	 */
	public void setFullDexterity(final float val) {
		fullDexterity = val;
	}
	/**
	 * Sets the full value of the character's Intelligence score.
	 * @param val the new value
	 */
	public void setFullIntelligence(final float val) {
		fullIntelligence = val;
	}
	/**
	 * Sets the full value of the character's Max HP score.
	 * @param val the new value
	 */
	public void setFullMaxHP(final float val) {
		fullMaxHP = val;
	}
	/**
	 * Sets the full value of the character's Strength score.
	 * @param val the new value
	 */
	public void setFullStrength(final float val) {
		fullStrength = val;
	}
	/**
	 * Sets the full value of the character's Wisdom score.
	 * @param val the new value
	 */
	public void setFullWisdom(final float val) {
		fullWisdom = val;
	}
	/**
	 * Sets the value of the modifier applied to character's base Charisma
	 * score.
	 * @param val the new value
	 */
	public void setModCharisma(final float val) {
		modCharisma = val;
	}
	/**
	 * Sets the value of the modifier applied to character's base Constitution
	 * score.
	 * @param val the new value
	 */
	public void setModConstitution(final float val) {
		modConstitution = val;
	}
	/**
	 * Sets the value of the modifier applied to character's base Dexterity
	 * score.
	 * @param val the new value
	 */
	public void setModDexterity(final float val) {
		modDexterity = val;
	}
	/**
	 * Sets the value of the modifier applied to character's base Intelligence
	 * score.
	 * @param val the new value
	 */
	public void setModIntelligence(final float val) {
		modIntelligence = val;
	}
	/**
	 * Sets the value of the modifier applied to character's base HP score.
	 * @param val the new value
	 */
	public void setModMaxHP(final float val) {
		modMaxHP = val;
	}
	/**
	 * Sets the value of the modifier applied to character's base Strength
	 * score.
	 * @param val the new value
	 */
	public void setModStrength(final float val) {
		modStrength = val;
	}
	/**
	 * Sets the value of the modifier applied to character's base Wisdom score.
	 * @param val the new value
	 */
	public void setModWisdom(final float val) {
		modWisdom = val;
	}

}
